﻿using SlamDunk.MES.Domain.IDomainServices;

namespace SlamDunk.MES.Domain.Mediators
{
    /// <summary>
    /// 领域服务中介者
    /// </summary>
    public class DomainServiceMediator
    {
        /// <summary>
        /// 依赖注入构造器
        /// </summary>
        public DomainServiceMediator(INumberService numberSvc, IBomService bomSvc, IMaterialBarcodeService materialBarcodeSvc, IStockOrderService stockOrderSvc, IWorkOrderService workOrderSvc)
        {
            this.NumberSvc = numberSvc;
            this.BomSvc = bomSvc;
            this.MaterialBarcodeSvc = materialBarcodeSvc;
            this.StockOrderSvc = stockOrderSvc;
            this.WorkOrderSvc = workOrderSvc;
        }

        /// <summary>
        /// 编号领域服务接口
        /// </summary>
        public INumberService NumberSvc { get; private set; }

        /// <summary>
        /// 物料清单领域服务接口
        /// </summary>
        public IBomService BomSvc { get; private set; }

        /// <summary>
        /// 条码领域服务接口
        /// </summary>
        public IMaterialBarcodeService MaterialBarcodeSvc { get; private set; }

        /// <summary>
        /// 库存单据领域服务接口
        /// </summary>
        public IStockOrderService StockOrderSvc { get; private set; }

        /// <summary>
        /// 工单领域服务接口
        /// </summary>
        public IWorkOrderService WorkOrderSvc { get; private set; }
    }
}
